Fix for issue 28721. Change-Id: I8669d5ae5719b2fdd0e8d05aed7da8e55568463d http://code.google.com/p/android/issues/detail?id=28721 
diff --git a/src/dynamic_cast.cc b/src/dynamic_cast.cc index 4487fff..2dacac8 100644 --- a/src/dynamic_cast.cc +++ b/src/dynamic_cast.cc 
@@ -320,7 +320,7 @@  // If it is known that v points to a public base class subobject  // of a T object, simply adjust the pointer by the offset.  if (t_object != ambiguous_object && src2dst_offset >= 0) - return const_cast<void*>(adjust_pointer(v, src2dst_offset)); + return const_cast<void*>(adjust_pointer(v, -src2dst_offset));    // If there is only one T type subobject, we only need to look at  // there. Otherwise, look for the subobject referred by v in the